<template>
	<view class="content">
		<view class="order-item">
			<view class="goods-box-single">
				<image class="goods-img" :src="imageUrl" mode="aspectFill"></image>
				<view class="right">
					<text class="title clamp">{{machineName}}</text>
					<!-- <text class="price">{{ item.price }}</text> -->
					<text v-if="payType==0" class="title clamp"
						style="margin-top: 20rpx;font-size: 25rpx;">消费类型:直接消费</text>
					<text v-if="payType==1" class="title clamp"
						style="margin-top: 20rpx;font-size: 25rpx;">消费类型:积分消费</text>
					<text class="title clamp" style="margin-top: 20rpx;font-size: 25rpx;">开始时间:{{startTime}}</text>
					<text class="title clamp" style="margin-top: 20rpx;font-size: 25rpx;">结束时间:{{endTime}}</text>
				</view>
			</view>

			<view class="price-box">
				<button class="action-btn1" @click="shareToggle(index,item)"><text style="letter-spacing:10rpx">操作</text></button>
				<button class="action-btn status" v-if="orderStatus==2"><text style="letter-spacing:10rpx">已付款</text></button>
				<button class="action-btn status" v-if="orderStatus==7"><text style="letter-spacing:10rpx">已完成</text></button>
				<button class="action-btn status" v-if="orderStatus==14"><text style="letter-spacing:10rpx">已退款</text></button>
				<button class="action-btn status" v-if="orderStatus==12"><text style="letter-spacing:10rpx">未付款</text></button>
				<button class="action-btn status" v-if="orderStatus==20"><text style="letter-spacing:10rpx">待取消</text></button>
			</view>

			<uni-popup ref="popup" type="bottom">
				<view class="uni-popup-share">
					<view class="uni-share-title"><text class="uni-share-title-text">选择你要进行的操作</text></view>
					<view class="uni-share-content">
						<view class="uni-share-content-box">
							<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index"
								@click.stop="select(item,index)">
								<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
								<text class="uni-share-text">{{item.text}}</text>
							</view>

						</view>
					</view>
				</view>
			</uni-popup>
		</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex';
	import Api from '@/common/api';
	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
	import uniPopupShare from "@/components/uni-popup/uni-popup-share.vue";
	import uniPopup from "@/components/uni-popup/uni-popup.vue"
	import empty from '@/components/empty';
	import {
		formatDate
	} from '@/common/date';
	export default {
		components: {
			uniLoadMore,
			empty,
			uniPopupShare,
			uniPopup
		},
		data() {
			return {
				machineName: '',
				payType: '',
				startTime: '',
				endTime: '',
				id: null,
				imageUrl: '',
				order: null,
				isShow: true,
				orderStatus:0,
				showStatus:1,
				bottomData: [{
						text: '开大门',
						icon: '/static/door1.png',
						name: '5'
					},
					{
						text: '开包厢门',
						icon: '/static/door.png',
						name: '0'
					}
				]
			};
		},

		onLoad(options) {
			let machineName = options.machineName;
			let payType = options.payType;
			let startTime = this.dateFormat(options.startTime);
			let endTime = this.dateFormat(options.endTime);
			let id = options.id;
			let imageUrl = options.imageUrl;
			this.machineName = machineName;
			this.payType = payType;
			this.startTime = startTime;
			this.endTime = endTime;
			this.imageUrl = imageUrl;
			this.id = id;
			this.showStatus = options.showStatus;
			this.orderStatus = options.orderStatus;
			let nowTime = new Date().getTime();
			let end = new Date(options.endTime).getTime();
			let start = new Date(options.startTime).getTime();
			if (nowTime > end || nowTime < start) {
				this.isShow = false;
			}
			this.getOrder(id);
		},
		computed: {
			...mapState(['hasLogin', 'userInfo'])
		},
		methods: {
			async tiqian(id){
				let that = this;
				let data = await Api.apiCall('get', Api.order.tiqian, {orderId:id});
				if(data==0){
					uni.showModal({
						title: '提示',
						content: '已为您调整订单时间,可前往订单操作中开启包厢门.',
						success: function(res) {
							if (res.confirm) {
								that.loadData('refresh');
							} else if (res.cancel) {
					
							}
						}
					});
				}else{
					uni.showModal({
						title: '提示',
						content: '因为与其他订单时间冲突,该订单暂不能提前开始。',
						success: function(res) {
							if (res.confirm) {
							} else if (res.cancel) {
					
							}
						}
					});
				}
			},
			async select(item, index) {
				console.log(this.order)
				let orderId = this.order.id;
				let deviceId = this.order.deviceId;
				if (item.name == '5' || item.name == '0') {
					let params = {
						orderId: orderId,
						taskType: item.name
					}
					if (item.name == '5') {
						let data = await Api.apiCall('get', Api.qsg.openDamen, params);
						if (data) {
							let that = this;
							uni.showModal({
								title: '提示',
								showCancel: false,
								content: '操作成功.',
								success: function(res) {
									if (res.confirm) {
										that.$refs.popup.close('bottom');
									}
								}
							});
						}
					} else {
						let data = await Api.apiCall('get', Api.qsg.openBaoxiang, params);
						if (data) {
							let that = this;
							uni.showModal({
								title: '提示',
								showCancel: false,
								content: '操作成功.',
								success: function(res) {
									if (res.confirm) {
										that.$refs.popup.close('bottom');
									}
								}
							});
						}
					}
				}
			},
			shareToggle(index) {
				console.log(this.orderStatus)
				if(this.order.orderStatus==2&&this.showStatus!=1){
				this.$refs.popup.open('bottom');
					
				}else{
					uni.showToast({
						icon:'error',
						title:'操作无效'
					})
				}
			},
			dateFormat(time) {
				if (time == null || time === '') {
					return 'N/A';
				}
				let date = new Date(time);
				return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
			},
			async getOrder(id) {
				let order = await Api.apiCall('get', Api.qsg.getOrderById, {
					id: id
				});
				console.log(order)
				this.order = order;
				if(this.order.orderStatus!=2){
					uni.showToast({
						icon:'error',
						title:'订单状态异常.'
					})
					return false;
				}
				this.shareToggle();
			}
		}
	};
</script>

<style lang="scss">
	page,
	.content {
		background: #f7f7f7;
		height: 100%;
	}
	
	.tab-content{
		border-radius: 30rpx;
	}
	
	.bottom-content{
		height: 600rpx;
		background-color: #ffffff;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	.bottom-content-item{
		flex:1;		
	}
	
	.bottom-content-item-row{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	
	.meal-item{
		flex: 1;
		width: 33%;
		height: 200rpx;
		margin-top: 60rpx;
		margin-left: 30rpx;
		margin-right: 30rpx;
		text-align: center;
		border-radius:15rpx;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.bottom-content-item-column{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	.btn-primary{
		background-color: #ff9662;
		text-align: center;
		border-radius: 15rpx;
		color: #FFFFFF;
		width: 50%;
		height: 100rpx;
		line-height: 100rpx;
		margin-top: 30rpx;
	}
	
	.btn-default{
		/* background-color: #ff9662; */
		border: 1rpx solid #ff9662;
		text-align: center;
		border-radius: 15rpx;
		color: #ff9662;
		width: 50%;
		height: 100rpx;
		line-height: 100rpx;
		margin-bottom: 30rpx;
	}
	
	.item-no-select{
		background-color: #ff9662;
	}
	
	.uni-popup-share {
		background-color: #fff;
	}
	.uni-share-title {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		align-items: center;
		justify-content: center;
		height: 40px;
	}
	.uni-share-title-text {
		font-size: 14px;
		color: #666;
	}
	.uni-share-content {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		justify-content: center;
		padding-top: 10px;
	}
	
	.uni-share-content-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		flex-wrap: wrap;
		width: 360px;
	}
	
	.uni-share-content-item {
		width: 90px;
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: column;
		justify-content: center;
		padding: 10px 0;
		align-items: center;
	}
	
	.uni-share-content-item:active {
		background-color: #f5f5f5;
	}
	
	.uni-share-image {
		width: 30px;
		height: 30px;
	}
	
	.uni-share-text {
		margin-top: 10px;
		font-size: 14px;
		color: #3B4144;
	}
	
	.uni-share-button-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		padding: 10px 15px;
	}
	
	.uni-share-button {
		flex: 1;
		border-radius: 50px;
		color: #666;
		font-size: 16px;
	}
	
	.uni-share-button::after {
		border-radius: 50px;
	}

	.swiper-box {
		/*  #ifdef  MP-WEIXIN  */
		height: calc(100% - 40px);
		/* #endif */
		/*  #ifdef  MP-ALIPAY  */
		height: 1200rpx;
		/* #endif */
	}

	.list-scroll-content {
		height: 100%;
	}

	.navbar {
		display: flex;
		height: 40px;
		padding: 0 5px;
		background: #fff;
		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
		position: relative;
		z-index: 10;

		.nav-item {
			flex: 1;
			display: flex;
			justify-content: center;
			align-items: center;
			height: 100%;
			font-size: 15px;
			color: $font-color-dark;
			position: relative;

			&.current {
				color: #127202;

				&:after {
					content: '';
					position: absolute;
					left: 50%;
					bottom: 0;
					transform: translateX(-50%);
					width: 44px;
					height: 0;
					border-bottom: 2px solid #127202;
				}
			}
		}
	}

	.uni-swiper-item {
		height: auto;
	}

	.order-item {
		display: flex;
		flex-direction: column;
		padding-left: 30upx;
		background: #fff;
		margin-top: 16upx;


		.i-top {
			display: flex;
			align-items: center;
			height: 80upx;
			padding-right: 30upx;
			font-size: $font-base;
			color: $font-color-dark;
			position: relative;

			.time {
				flex: 1;
			}

			.state {
				color: $base-color;
			}

			.del-btn {
				padding: 10upx 0 10upx 36upx;
				font-size: $font-lg;
				color: $font-color-light;
				position: relative;

				&:after {
					content: '';
					width: 0;
					height: 30upx;
					border-left: 1px solid $border-color-dark;
					position: absolute;
					left: 20upx;
					top: 50%;
					transform: translateY(-50%);
				}
			}
		}

		/* 多条商品 */
		.goods-box {
			height: 160upx;
			padding: 20upx 0;
			white-space: nowrap;

			.goods-item {
				width: 120upx;
				height: 120upx;
				display: inline-block;
				margin-right: 24upx;
			}

			.goods-img {
				display: block;
				width: 100%;
				height: 100%;
			}
		}

		/* 单条商品 */
		.goods-box-single {
			display: flex;
			padding: 20upx 0;

			.goods-img {
				display: block;
				width: 160upx;
				height: 160upx;
			}

			.right {
				flex: 1;
				display: flex;
				flex-direction: column;
				padding: 0 30upx 0 24upx;
				overflow: hidden;

				.title {
					font-size: $font-base + 2upx;
					color: $font-color-dark;
					line-height: 1;
				}

				.attr-box {
					font-size: $font-sm + 2upx;
					color: $font-color-light;
					padding: 10upx 12upx;
				}

				.price {
					font-size: $font-base + 2upx;
					color: $font-color-dark;

					&:before {
						content: '￥';
						font-size: $font-sm;
						margin: 0 2upx 0 8upx;
					}
				}
			}
		}

		.price-box {
			display: flex;
			justify-content: flex-end;
			align-items: baseline;
			padding: 20upx 30upx;
			font-size: $font-sm + 2upx;
			color: $font-color-light;

			.num {
				margin: 0 8upx;
				color: $font-color-dark;
			}

			.price {
				font-size: $font-lg;
				color: $font-color-dark;

				&:before {
					content: '￥';
					font-size: $font-sm;
					margin: 0 2upx 0 8upx;
				}
			}
		}

		.action-box {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			height: 100upx;
			position: relative;
			padding-right: 30upx;
		}
		
		.action-btn1 {
			width: 160upx;
			height: 60upx;
			margin: 0;
			margin-left: 24upx;
			padding: 0;
			text-align: center;
			line-height: 60upx;
			font-size: $font-sm + 2upx;
			color: #127202;
			border-style: solid;
			border-width: 1rpx;
			border-color: #127202;
			background: #fff;
			border-radius: 100px;
		
			&:after {
				border-radius: 100px;
			}
		
			&.recom {
				background: #fff9f9;
				color: $base-color;
		
				&:after {
					border-color: #f7bcc8;
				}
			}
		}

		.action-btn {
			width: 160upx;
			height: 60upx;
			margin: 0;
			margin-left: 24upx;
			padding: 0;
			text-align: center;
			line-height: 60upx;
			font-size: $font-sm + 2upx;
			color: $font-color-dark;
			background: #fff;
			border-radius: 100px;

			&:after {
				border-radius: 100px;
			}

			&.recom {
				background: #127202;
				color: #fff9f9;

				&:after {
					border-color: #f7bcc8;
				}
			}
			
			&.recom1 {
				background: #ca4300;
				color: #fff9f9;
			
				&:after {
					border-color: #f7bcc8;
				}
			}
			
			&.status {
				background: #5f5f5f;
				color: #fff9f9;
			
				&:after {
					border-color: #f7bcc8;
				}
			}
			
			&.cannel {
				background: #a73753;
				color: #fff9f9;
			
				&:after {
					border-color: #f7bcc8;
				}
			}
		}
	}

	/* load-more */
	.uni-load-more {
		display: flex;
		flex-direction: row;
		height: 80upx;
		align-items: center;
		justify-content: center;
	}

	.uni-load-more__text {
		font-size: 28upx;
		color: #999;
	}

	.uni-load-more__img {
		height: 24px;
		width: 24px;
		margin-right: 10px;
	}

	.uni-load-more__img>view {
		position: absolute;
	}

	.uni-load-more__img>view view {
		width: 6px;
		height: 2px;
		border-top-left-radius: 1px;
		border-bottom-left-radius: 1px;
		background: #999;
		position: absolute;
		opacity: 0.2;
		transform-origin: 50%;
		animation: load 1.56s ease infinite;
	}

	.uni-load-more__img>view view:nth-child(1) {
		transform: rotate(90deg);
		top: 2px;
		left: 9px;
	}

	.uni-load-more__img>view view:nth-child(2) {
		transform: rotate(180deg);
		top: 11px;
		right: 0;
	}

	.uni-load-more__img>view view:nth-child(3) {
		transform: rotate(270deg);
		bottom: 2px;
		left: 9px;
	}

	.uni-load-more__img>view view:nth-child(4) {
		top: 11px;
		left: 0;
	}

	.load1,
	.load2,
	.load3 {
		height: 24px;
		width: 24px;
	}

	.load2 {
		transform: rotate(30deg);
	}

	.load3 {
		transform: rotate(60deg);
	}

	.load1 view:nth-child(1) {
		animation-delay: 0s;
	}

	.load2 view:nth-child(1) {
		animation-delay: 0.13s;
	}

	.load3 view:nth-child(1) {
		animation-delay: 0.26s;
	}

	.load1 view:nth-child(2) {
		animation-delay: 0.39s;
	}

	.load2 view:nth-child(2) {
		animation-delay: 0.52s;
	}

	.load3 view:nth-child(2) {
		animation-delay: 0.65s;
	}

	.load1 view:nth-child(3) {
		animation-delay: 0.78s;
	}

	.load2 view:nth-child(3) {
		animation-delay: 0.91s;
	}

	.load3 view:nth-child(3) {
		animation-delay: 1.04s;
	}

	.load1 view:nth-child(4) {
		animation-delay: 1.17s;
	}

	.load2 view:nth-child(4) {
		animation-delay: 1.3s;
	}

	.load3 view:nth-child(4) {
		animation-delay: 1.43s;
	}

	@-webkit-keyframes load {
		0% {
			opacity: 1;
		}

		100% {
			opacity: 0.2;
		}
	}
</style>
